package com.stylefeng.guns.rest.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 用户奖券
 * </p>
 *
 * @author ruiyifeng123
 * @since 2019-04-03
 */
@TableName("wz_user_coupon")
public class WzUserCoupon extends Model<WzUserCoupon> {

    private static final long serialVersionUID = 1L;

    /**
     * 用户奖券id
     */
    @TableId(value = "user_coupon_id", type = IdType.ID_WORKER)
    private Long userCouponId;
    /**
     * 奖券id
     */
    @TableField("coupon_id")
    private Long couponId;
    /**
     * 我的活动id
     */
    @TableField("user_map_activity_id")
    private String userMapActivityId;
    /**
     * 活动id
     */
    @TableField("map_activity_id")
    private String mapActivityId;
    /**
     * 返利活动id
     */
    @TableField("map_rebate_id")
    private String mapRebateId;
    /**
     * 用户返利活动id
     */
    @TableField("user_rebate_id")
    private String userRebateId;
    /**
     * 拼单活动id
     */
    @TableField("map_merge_id")
    private String mapMergeId;
    /**
     * 券库id
     */
    @TableField("coupon_market_id")
    private String couponMarketId;
    /**
     * 周边店铺id
     */
    @TableField("adv_map_id")
    private String advMapId;
    /**
     * 奖品id
     */
    @TableField("prize_id")
    private String prizeId;
    /**
     * 用户编号
     */
    @TableField("user_code")
    private Long userCode;
    /**
     * 用户昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 用户头像
     */
    @TableField("avatar_url")
    private String avatarUrl;
    /**
     * 价格
     */
    private Integer price;
    /**
     * 券库返利收益
     */
    @TableField("market_rebate_profit")
    private Integer marketRebateProfit;
    /**
     * 类型：1-原价券；2-享低价券；3-券库券；4-返利券；5-拼单券；
     */
    private Integer type;
    /**
     * 状态：1-可用;2-已使用；3-过期
     */
    private Integer status;
    /**
     * 开始时间
     */
    @TableField("begin_time")
    private Date beginTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 扫码日期
     */
    @TableField("scan_time")
    private Date scanTime;
    /**
     * 商户名称
     */
    private String name;
    /**
     * 商户logo
     */
    private String logo;
    /**
     * 扫码人用户编号
     */
    @TableField("scan_user_code")
    private String scanUserCode;
    /**
     * 扫码人姓名
     */
    @TableField("scan_name")
    private String scanName;
    /**
     * 优惠信息
     */
    private String benefit;
    /**
     * 兑换物品图片
     */
    private String pic;
    /**
     * 规则
     */
    private String rule;
    /**
     * 子类型：1-优惠券；2-兑换券；
     */
    private Integer subtype;
    /**
     * 用户收货地址id
     */
    @TableField("user_info_id")
    private String userInfoId;
    /**
     * 购买用户id：微信-openid；支付宝-buyerId
     */
    @TableField("buyer_id")
    private String buyerId;
    /**
     * 支付方式:1-alipay;2-weixin;3-wz
     */
    @TableField("pay_method")
    private Integer payMethod;


    public Long getUserCouponId() {
        return userCouponId;
    }

    public void setUserCouponId(Long userCouponId) {
        this.userCouponId = userCouponId;
    }

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    public String getUserMapActivityId() {
        return userMapActivityId;
    }

    public void setUserMapActivityId(String userMapActivityId) {
        this.userMapActivityId = userMapActivityId;
    }

    public String getMapActivityId() {
        return mapActivityId;
    }

    public void setMapActivityId(String mapActivityId) {
        this.mapActivityId = mapActivityId;
    }

    public String getMapRebateId() {
        return mapRebateId;
    }

    public void setMapRebateId(String mapRebateId) {
        this.mapRebateId = mapRebateId;
    }

    public String getUserRebateId() {
        return userRebateId;
    }

    public void setUserRebateId(String userRebateId) {
        this.userRebateId = userRebateId;
    }

    public String getMapMergeId() {
        return mapMergeId;
    }

    public void setMapMergeId(String mapMergeId) {
        this.mapMergeId = mapMergeId;
    }

    public String getCouponMarketId() {
        return couponMarketId;
    }

    public void setCouponMarketId(String couponMarketId) {
        this.couponMarketId = couponMarketId;
    }

    public String getAdvMapId() {
        return advMapId;
    }

    public void setAdvMapId(String advMapId) {
        this.advMapId = advMapId;
    }

    public String getPrizeId() {
        return prizeId;
    }

    public void setPrizeId(String prizeId) {
        this.prizeId = prizeId;
    }

    public Long getUserCode() {
        return userCode;
    }

    public void setUserCode(Long userCode) {
        this.userCode = userCode;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public Integer getMarketRebateProfit() {
        return marketRebateProfit;
    }

    public void setMarketRebateProfit(Integer marketRebateProfit) {
        this.marketRebateProfit = marketRebateProfit;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getScanTime() {
        return scanTime;
    }

    public void setScanTime(Date scanTime) {
        this.scanTime = scanTime;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public String getScanUserCode() {
        return scanUserCode;
    }

    public void setScanUserCode(String scanUserCode) {
        this.scanUserCode = scanUserCode;
    }

    public String getScanName() {
        return scanName;
    }

    public void setScanName(String scanName) {
        this.scanName = scanName;
    }

    public String getBenefit() {
        return benefit;
    }

    public void setBenefit(String benefit) {
        this.benefit = benefit;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getRule() {
        return rule;
    }

    public void setRule(String rule) {
        this.rule = rule;
    }

    public Integer getSubtype() {
        return subtype;
    }

    public void setSubtype(Integer subtype) {
        this.subtype = subtype;
    }

    public String getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(String userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public Integer getPayMethod() {
        return payMethod;
    }

    public void setPayMethod(Integer payMethod) {
        this.payMethod = payMethod;
    }

    @Override
    protected Serializable pkVal() {
        return this.userCouponId;
    }

    @Override
    public String toString() {
        return "WzUserCoupon{" +
        "userCouponId=" + userCouponId +
        ", couponId=" + couponId +
        ", userMapActivityId=" + userMapActivityId +
        ", mapActivityId=" + mapActivityId +
        ", mapRebateId=" + mapRebateId +
        ", userRebateId=" + userRebateId +
        ", mapMergeId=" + mapMergeId +
        ", couponMarketId=" + couponMarketId +
        ", advMapId=" + advMapId +
        ", prizeId=" + prizeId +
        ", userCode=" + userCode +
        ", nickName=" + nickName +
        ", avatarUrl=" + avatarUrl +
        ", price=" + price +
        ", marketRebateProfit=" + marketRebateProfit +
        ", type=" + type +
        ", status=" + status +
        ", beginTime=" + beginTime +
        ", endTime=" + endTime +
        ", createTime=" + createTime +
        ", scanTime=" + scanTime +
        ", name=" + name +
        ", logo=" + logo +
        ", scanUserCode=" + scanUserCode +
        ", scanName=" + scanName +
        ", benefit=" + benefit +
        ", pic=" + pic +
        ", rule=" + rule +
        ", subtype=" + subtype +
        ", userInfoId=" + userInfoId +
        ", buyerId=" + buyerId +
        ", payMethod=" + payMethod +
        "}";
    }
}
